import React, { Component } from 'react';

class GetDerivedStateFromPropsDemo extends Component {
  constructor(props) {
    super(props);
    this.state = {
        type: 'A',
        props,
    }
  }
  static getDerivedStateFromProps(nextProps, prevState) {
      const {type} = nextProps;
      const {props} = prevState;
      // 这段代码可能看起来非常混乱，这个props可以被当做缓存，仅用作判断
      if (type !== props.type) {
          return {
              type,
              props: {
                  type,
              },
          };
      }
      // 否则，对于state不进行任何操作
      return null;
  }
  render() {
    return (
      <div>type值是{this.state.type}</div>      
    );
  }
}

export default GetDerivedStateFromPropsDemo;